home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 015a / fdate61a.zip / FDATEX.BAT < prev    next >
DOS Batch File  |  1992-02-15  |  24KB  |  693 lines

  1. @ECHO off
  2. BREAK ON
  3. if not (%1)==() goto %1
  4. CLS
  5. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  6. echo ║         FDATEX: Demonstration batch file for FDATE                          ║
  7. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  8. echo.
  9. echo.
  10. echo This batch file uses ANSI.SYS to control the appearance and color
  11. echo of some of the headings.
  12.  
  13. echo.
  14. echo If you do not have ANSI.SYS installed, you may see garbage on the
  15. echo screen next to some of the headings, such as the one at the top of
  16. echo this screen, but the batch file will work correctly otherwise.
  17.  
  18. echo.
  19. echo.
  20. echo.
  21. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  22. echo ║        The first thing we will do is to test the HELP screen.               ║
  23. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  24. PAUSE
  25.  
  26. cls
  27. FDATE
  28. PAUSE
  29. ECHO ON
  30.  
  31. @echo off
  32. CLS
  33. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  34. echo ║                TEST   OUTPUT FORMATS (#1)                                   ║
  35. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  36. @echo on
  37. FDATE /Ff /Atoday /Occyy
  38. FDATE /Ff /At /Occyymm
  39. FDATE /Ff /At /Occyymmdd
  40. FDATE /Ff /At /Oyymmdd
  41. FDATE /Ff /At /Ommdd
  42. @echo off
  43. @PAUSE
  44.  
  45. @echo off
  46. CLS
  47. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  48. echo ║                TEST   OUTPUT FORMATS (#1b)                                  ║
  49. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  50. @echo on
  51. FDATE /Ff /At /Odd
  52. FDATE /Ff /At /Ozd
  53. FDATE /Ff /At /Odd-mn3-yy
  54. FDATE /Ff /At /Odd-mn3-yy /Lfr
  55. @echo off
  56. @PAUSE
  57.  
  58. CLS
  59. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  60. echo ║                TEST   OUTPUT FORMATS (#2)                                   ║
  61. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  62. @echo on
  63. FDATE /Ff /Omm-dd-ccyy
  64. FDATE /Ff /Ozm-zd-ccyy
  65. FDATE /Ff /Omm/dd/ccyy
  66. FDATE /Ff /Ozm/zd/ccyy
  67. @echo off
  68. PAUSE
  69.  
  70. CLS
  71. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  72. echo ║                TEST   OUTPUT FORMATS (BRITISH)                              ║
  73. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  74. @echo on
  75. FDATE /Ff /Odd.mm.ccyy
  76. FDATE /Ff /Ozd.zm.ccyy
  77. FDATE /Ff /Odd.mm.yy
  78. FDATE /Ff /Ozd.zm.yy
  79. @echo off
  80. PAUSE
  81.  
  82. CLS
  83. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  84. echo ║                TEST   OUTPUT FORMATS (#3)                                   ║
  85. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  86. @echo on
  87. FDATE /Ff /At /Odow#
  88. FDATE /Ff /At /Odow
  89. FDATE /Ff /At /Odow3
  90. FDATE /Ff /At /Odow  /Lfr
  91. FDATE /Ff /At /Odow3 /Lfr
  92. @echo off
  93. PAUSE
  94.  
  95. CLS
  96. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  97. echo ║                TEST   OUTPUT FORMATS (#4)                                   ║
  98. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  99. @echo on
  100. FDATE /Ff /At /O"mn zd, ccyy"
  101. FDATE /Ff /At /O"mn3 dd ccyy"
  102. FDATE /Ff /At /O"mn3 dd, ccyy"
  103. FDATE /Ff /At /O"mn zd, ccyy"  /Lfr
  104. FDATE /Ff /At /O"mn3 dd ccyy"  /Lfr
  105. FDATE /Ff /At /O"mn3 dd, ccyy" /Lfr
  106. @echo off
  107. PAUSE
  108.  
  109. CLS
  110. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  111. echo ║                TEST   OUTPUT FORMATS (#5)                                   ║
  112. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  113. @echo on
  114. FDATE /Ff /At /O"zd mn ccyy"
  115. FDATE /Ff /At /O"zd mn, ccyy"
  116. FDATE /Ff /At /O"zd mn ccyy"  /Lfr
  117. FDATE /Ff /At /O"zd mn, ccyy" /Lfr
  118. @echo off
  119. PAUSE
  120.  
  121. CLS
  122. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  123. echo ║                TEST   OUTPUT FORMATS (TIME)                                 ║
  124. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  125. @echo on
  126. FDATE /Ff /At /Ot1
  127. FDATE /Ff /At /Ohh:mm
  128. FDATE /Ff /At /Ohh:mm:ss
  129. @echo off
  130. PAUSE
  131.  
  132. CLS
  133. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  134. echo ║                TEST   OUTPUT FORMATS (DATE ABBREVIATIONS)                   ║
  135. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  136. @echo on
  137. FDATE /Ff /At /Od1
  138. FDATE /Ff /At /Ofull
  139. FDATE /Ff /At /Od1   /Lfr
  140. FDATE /Ff /At /Ofull /Lfr
  141. FDATE /Ff /Oly /P"Leap-year flag is: " /S" [0=normal, 1=leapyear]"
  142. @echo off
  143. PAUSE
  144. :julian
  145. CLS
  146. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  147. echo ║                TEST   OUTPUT FORMATS ("JULIAN" OUTPUTS)                     ║
  148. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  149. @echo on
  150. FDATE /Ff /At /Oday#     /P"Absolute date : "
  151. FDATE /Ff /At /Ominute#  /P"Julian minutes: "
  152. FDATE /Ff /At /Osecond#  /P"Julian seconds: "
  153. @pause
  154.  
  155. @cls
  156. FDATE /Ff /At /Ojulian   /P"Julian date is: "
  157. FDATE /Ff /At /OJJJ      /P"Julian date is: "
  158. FDATE /Ff /At /OYYJJJ    /P"Julian date is: "
  159. FDATE /Ff /At /OCCYYJJJ  /P"Julian date is: "
  160. @echo off
  161. PAUSE
  162.  
  163. :IN
  164. CLS
  165. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  166. echo ║                TEST   INPUT  FORMATS                                        ║
  167. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  168. echo.
  169. @echo TEST PSEUDO-DATES   /AT  (/ATODAY)
  170. @echo ─────────────────────────────────────────────────────────────────
  171. @echo on
  172. FDATE /Ff /Atoday
  173. FDATE /Ff /At
  174. @Pause
  175. cls
  176. @ECHO TEST PSEUDO-DATES     /ICCYYMMDD
  177. @echo ─────────────────────────────────────────────────────────────────
  178. FDATE /Ff /Atttt1126  /Iccyymmdd
  179. FDATE /Ff /A1991tt26  /Iccyymmdd
  180. FDATE /Ff /A199211tt  /Iccyymmdd
  181. FDATE /Ff /Atttttttt  /Iccyymmdd
  182. @Pause
  183. cls
  184. @ECHO TEST PSEUDO-DATES     /IMM-DD-CCYY
  185. @echo ─────────────────────────────────────────────────────────────────
  186. FDATE /Ff /A11-26-tttt /Imm-dd-ccyy
  187. FDATE /Ff /A11-tt-1992 /Imm-dd-ccyy
  188. FDATE /Ff /Att-26-1992 /Imm-dd-ccyy
  189. FDATE /Ff /Att-tt-tttt /Imm-dd-ccyy
  190. @Pause
  191. cls
  192. @ECHO TEST PSEUDO-DATES     /IMM-DD-YY
  193. @echo ─────────────────────────────────────────────────────────────────
  194. FDATE /Ff /A11-26-tt /Imm-dd-yy
  195. FDATE /Ff /A11-tt-92 /Imm-dd-yy
  196. FDATE /Ff /Att-26-92 /Imm-dd-yy
  197. FDATE /Ff /Att-tt-tt /Imm-dd-yy
  198. @PAUSE
  199.  
  200. CLS
  201. @echo TEST INPUT FORMATS
  202. @echo ─────────────────────────────────────────────────────────────────
  203. FDATE /Ff /Imm-dd-ccyy /A12-07-1991
  204. FDATE /Ff /Imm-dd-yy   /A12-07-91
  205. FDATE /Ff /Iccyymmdd   /A19911207
  206. @PAUSE
  207. :JJJ
  208. CLS
  209. @echo ON
  210. @echo TEST JULIAN INPUT FORMATS
  211. @echo ─────────────────────────────────────────────────────────────────
  212. FDATE /Ff /Iccyyjjj /A1992045
  213. FDATE /Ff /Iccyyjjj /Atttt045
  214. FDATE /Ff /Iyyjjj /A92045
  215. FDATE /Ff /Iyyjjj /Att045
  216. FDATE /Ff /Iyyjjj /A92366
  217. FDATE /Ff /Iyyjjj /A93366
  218. @PAUSE
  219.  
  220. CLS
  221. @echo TEST JULIAN INPUT FORMATS
  222. @echo ─────────────────────────────────────────────────────────────────
  223. Fdate /Ff  /Iyyjjj /Att-1
  224. Fdate /Ff  /Iyyjjj /Att0
  225. Fdate /Ff  /Iyyjjj /Att+1
  226. Fdate /Ff  /Iyyjjj /Att-999
  227. Fdate /Ff  /Iyyjjj /Att1000
  228. @PAUSE
  229. @echo OFF
  230.  
  231. CLS
  232. @echo TEST INPUT FORMATS (only YY specified, CC assumed.)
  233. @echo ─────────────────────────────────────────────────────────────────
  234. FDATE /Ff /Imm-dd-yy   /A12-07-00
  235. FDATE /Ff /Imm-dd-yy   /A12-07-10
  236. FDATE /Ff /Imm-dd-yy   /A12-07-19
  237. FDATE /Ff /Imm-dd-yy   /A12-07-20
  238. FDATE /Ff /Imm-dd-yy   /A12-07-21
  239. FDATE /Ff /Imm-dd-yy   /A12-07-91
  240. @PAUSE
  241.  
  242. CLS
  243. @echo off
  244. @echo TEST INPUT FORMATS HANDLING LEADING ZEROS
  245. @echo ─────────────────────────────────────────────────────────────────
  246. FDATE /Ff /Imm-dd-yy   /A06-06-66
  247. FDATE /Ff /Imm-dd-yy   /A6-06-66
  248. FDATE /Ff /Imm-dd-yy   /A06-6-66
  249. FDATE /Ff /Imm-dd-yy   /A6-6-66
  250. FDATE /Ff /Imm-dd-ccyy /A06-06-0001
  251. FDATE /Ff /Imm-dd-ccyy /A6-06-0001
  252. FDATE /Ff /Imm-dd-ccyy /A06-6-0001
  253. FDATE /Ff /Imm-dd-ccyy /A6-6-0001
  254. @PAUSE
  255.  
  256. @echo on
  257.  
  258. CLS
  259. @echo TEST /P (PREFIX) PARAMETER
  260. @echo ─────────────────────────────────────────────────────────────────
  261. FDATE /Ff /At /O"mn zd, ccyy" /P"Today is "
  262. FDATE /Ff /At /O"mn zd, ccyy" /P"Aujourdui est " /Lfr
  263. @echo.
  264. set  FDATE=
  265. FDATE /Ff /At /O"mn zd, ccyy" /P"@SET FDATE=" >FDATJUNK.BAT
  266. call FDATJUNK.BAT
  267. @Echo off
  268. del FDATJUNK.BAT
  269. ECHO Value of FDATE environment variable is: %FDATE%
  270. set  FDATE=
  271. PAUSE
  272.  
  273. CLS
  274. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  275. echo ║                TEST   END-OF-MONTH DATES (BUG FIXED IN FDATE 3.0)           ║
  276. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  277. @echo off
  278. fdate /Ff /Imm-dd-ccyy  /A01-29-1992
  279. fdate /Ff /Imm-dd-ccyy  /A01-30-1992
  280. fdate /Ff /Imm-dd-ccyy  /A01-31-1992
  281. fdate /Ff /Imm-dd-ccyy  /A02-29-1992
  282. fdate /Ff /Imm-dd-ccyy  /A02-30-1992
  283. fdate /Ff /Imm-dd-ccyy  /A02-31-1992
  284. @echo off
  285. PAUSE
  286.  
  287. :func
  288. CLS
  289. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  290. echo ║                TEST   FUNCTIONS                                             ║
  291. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  292. @echo on
  293. @echo.
  294. @echo TEST FUNCTION: F (FORMAT)
  295. @echo ─────────────────────────────────────────────────────────────────
  296. FDATE /Fformat /Atoday
  297. FDATE /Ff      /At
  298. FDATE /Ff
  299. @PAUSE
  300. @echo off
  301. CLS
  302. @echo TEST FUNCTION: W (Nth WEEKDAY BEFORE/AFTER) WHERE /D NOT = DOW#
  303. @echo ─────────────────────────────────────────────────────────────────
  304. FDATE /Fw /A11-25-1992 /D5 /N-2 /P"2nd Thursday before 11-25-1992: "
  305. FDATE /Fw /A11-25-1992 /D5 /N-1 /P"1st Thursday before 11-25-1992: "
  306. FDATE /Ff /A11-25-1992 /D5 /N-1 /P"The actual day of.. 11-25-1992: "
  307. FDATE /Fw /A11-25-1992 /D5 /N1  /P"1st Thursday after  11-25-1992: "
  308. FDATE /Fw /A11-25-1992 /D5 /N2  /P"2nd Thursday after  11-25-1992: "
  309. @PAUSE
  310. @CLS
  311. @echo TEST FUNCTION: W (Nth WEEKDAY BEFORE/AFTER) WHERE /D = DOW#
  312. @echo ─────────────────────────────────────────────────────────────────
  313. FDATE /Fw /A11-26-1992 /D5 /N-2 /P"2nd Thursday before 11-26-1992: "
  314. FDATE /Fw /A11-26-1992 /D5 /N-1 /P"1st Thursday before 11-26-1992: "
  315. FDATE /Ff /A11-26-1992 /D5 /N-1 /P"The actual day of.. 11-26-1992: "
  316. FDATE /Fw /A11-26-1992 /D5 /N1  /P"1st Thursday after  11-26-1992: "
  317. FDATE /Fw /A11-26-1992 /D5 /N2  /P"2nd Thursday after  11-26-1992: "
  318. @PAUSE
  319. @echo off
  320. @CLS
  321. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  322. echo ║                TEST   /FW-RELATED ERROR MESSAGES                            ║
  323. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  324. FDATE /Fw /A11-26-1992 /D5 /N0    /P" 0th Thursday after 11-26-1992: "
  325. FDATE /Fw /A11-26-1992 /D5 /N100  /P"99th Thursday after 11-26-1992: "
  326. FDATE /Fw /A11-26-1992 /D5 /N-100 /P"99th Thursday before 11-26-1992: "
  327. @PAUSE
  328.  
  329. CLS
  330. @echo TEST COMP (DATE COMPARE) FUNCTION and /Imm-dd-ccyy default
  331. @echo ─────────────────────────────────────────────────────────────────
  332. @echo ON
  333. Fdate /Fcomp /A06-06-1992 /B06-06-1991
  334. Fdate /Fcomp /A06-06-1992 /B06-06-1992
  335. Fdate /Fcomp /A06-06-1992 /B06-06-1993
  336. Fdate /Fcomp
  337. @PAUSE
  338.  
  339. CLS
  340. @echo TEST DIF (DATE DIFFERENCE, IN DAYS) FUNCTION
  341. @echo ─────────────────────────────────────────────────────────────────
  342. FDATE /Fdif /At /Bt
  343. FDATE /Fdif
  344. FDATE /Fdif /At /B01-01-1990 /Imm-dd-ccyy
  345. FDATE /Fdif /A01-01-1990 /Bt /Imm-dd-ccyy
  346. FDATE /Fdif /A12-31-0008 /B01-01-0009 /Imm-dd-ccyy
  347. FDATE /Fdif /Iccyymmdd /A19801230 /B19801231
  348. FDATE /Fdif /Iccyymmdd /A19801230 /B19801220
  349. @PAUSE
  350.  
  351. CLS
  352. @echo TEST DIF (DATE DIFFERENCE, IN DAYS) FUNCTION
  353. @echo ─────────────────────────────────────────────────────────────────
  354. FDATE /Fdif /Iccyymmdd /A19800101 /B19801231
  355. FDATE /Fdif /Iccyymmdd /A19810101 /B19811231
  356. FDATE /Fdif /Iccyymmdd /A20000101 /B20001231
  357. FDATE /Fdif /Iccyymmdd /A19000101 /B19001231
  358. FDATE /Fdif /Iccyymmdd /A16000101 /B16001231
  359. @PAUSE
  360.  
  361. @echo off
  362. CLS
  363. echo TEST ADD (ADD A NUMBER TO A DATE, GET RESULTING DATE) FUNCTION
  364. echo ───────────────────────────────────────────────────────────────────────────────
  365. echo on
  366. FDATE /Fadd /N1 /A12-31-0008 /Imm-dd-ccyy /Omm-dd-ccyy
  367. FDATE /Fadd /N1 /At  /Od1 /P"Tomorrow will be "
  368. FDATE /Fadd /N90 /At /Od1 /P"90 days from today is "
  369. @PAUSE
  370.  
  371. CLS
  372. @echo TEST ADD ACROSS YEAR BOUNDARIES: LEAP YEAR BEGIN
  373. @echo ─────────────────────────────────────────────────────────────────
  374. FDATE /Fadd /N1 /A12-31-0003
  375. FDATE /Fadd /N1 /A12-31-0099
  376. FDATE /Fadd /N1 /A12-31-0399
  377. FDATE /Fadd /N1 /A12-31-1899
  378. FDATE /Fadd /N1 /A12-31-1999
  379. @PAUSE
  380.  
  381. CLS
  382. @echo TEST ADD ACROSS YEAR BOUNDARIES: LEAP YEAR END
  383. @echo ─────────────────────────────────────────────────────────────────
  384. FDATE /Fadd /N1 /A12-31-0004
  385. FDATE /Fadd /N1 /A12-31-0100
  386. FDATE /Fadd /N1 /A12-31-0400
  387. FDATE /Fadd /N1 /A12-31-1900
  388. FDATE /Fadd /N1 /A12-31-2000
  389. @PAUSE
  390.  
  391. CLS
  392. @echo TEST SUB
  393. @echo ─────────────────────────────────────────────────────────────────
  394. FDATE /Fsub /N1 /A12-31-0008
  395. FDATE /Fsub /N1 /At  /Od1 /P"Yesterday was "
  396. FDATE /Fsub /N90 /At /Od1 /P"90 days ago, the date was "
  397. @PAUSE
  398.  
  399. CLS
  400. @echo TEST SUB ACROSS YEAR BOUNDARIES: 1 DAY BEFORE LEAP YEAR BEGIN
  401. @echo ─────────────────────────────────────────────────────────────────
  402. FDATE /Fsub /N1 /A12-31-0004
  403. FDATE /Fsub /N1 /A12-31-0100
  404. FDATE /Fsub /N1 /A12-31-0400
  405. FDATE /Fsub /N1 /A12-31-1900
  406. FDATE /Fsub /N1 /A12-31-2000
  407. @PAUSE
  408.  
  409. CLS
  410. @echo TEST SUB ACROSS YEAR BOUNDARIES: LEAP YEAR BEGIN
  411. @echo ─────────────────────────────────────────────────────────────────
  412. FDATE /Fsub /N1 /A01-01-0004
  413. FDATE /Fsub /N1 /A01-01-0100
  414. FDATE /Fsub /N1 /A01-01-0400
  415. FDATE /Fsub /N1 /A01-01-1900
  416. FDATE /Fsub /N1 /A01-01-2000
  417. @PAUSE
  418.  
  419. CLS
  420. @echo TEST SUB ACROSS YEAR BOUNDARIES: 1 DAY AFTER LEAP YEAR END
  421. @echo ─────────────────────────────────────────────────────────────────
  422. FDATE /Fsub /N1 /A01-01-0005
  423. FDATE /Fsub /N1 /A01-01-0101
  424. FDATE /Fsub /N1 /A01-01-0401
  425. FDATE /Fsub /N1 /A01-01-1901
  426. FDATE /Fsub /N1 /A01-01-2001
  427. @PAUSE
  428.  
  429. :errmsg
  430. CLS
  431. @echo TEST ERROR MESSAGES
  432. @echo ─────────────────────────────────────────────────────────────────
  433. @echo on
  434. FDATE /Ff /At /Ojunktest
  435. FDATE /Ff /A18880101 /Ijunktest /Ominute#
  436. @PAUSE
  437.  
  438. CLS
  439. FDATE /Ff   /Iccyymmdd  /A18880101 /Ominute#
  440. FDATE /Ff   /Iccyymmdd  /A21010101 /Osecond#
  441. FDATE /Fsub /Iccyymmdd  /A00010101 /n1 /od1
  442. FDATE /Fadd /Iccyymmdd  /A99991231 /n1 /od1
  443. @PAUSE
  444.  
  445. CLS
  446. FDATE /Ff   /Imm-dd-ccyy /A01-01-xxxx
  447. FDATE /Fadd /Imm-dd-ccyy /A01-01-1992 /N
  448. @PAUSE
  449.  
  450. CLS
  451. FDATE /Fdif /?01-01-1992 /B01-02-1992
  452. FDATE /Fdif /A01-01-1992 /?01-02-1992
  453. @PAUSE
  454.  
  455. CLS
  456. FDATE /Ff   /Imm-dd-yy   /A01-01-1
  457. FDATE /Ff   /Imm-dd-yy   /A01-01-199
  458. FDATE /Ff   /Imm-dd-ccyy /A01-01-199
  459. FDATE /Ff   /Imm-dd-ccyy /A01-01-19922
  460. @PAUSE
  461.  
  462. :LY
  463. CLS
  464. @echo on
  465. @echo TEST LEAPYR (#1)
  466. @echo ─────────────────────────────────────────────────────────────────
  467. FDATE /Ff /A01-01-0001 /Oly
  468. FDATE /Ff /A01-01-0004 /Oly
  469. FDATE /Ff /A01-01-0005 /Oly
  470. FDATE /Ff /A01-01-0100 /Oly
  471. FDATE /Ff /A01-01-0400 /Oly
  472. FDATE /Ff /A01-01-1600 /Oly
  473. @PAUSE
  474.  
  475. CLS
  476. @echo TEST LEAPYR (#2)
  477. @echo ─────────────────────────────────────────────────────────────────
  478. FDATE /Ff /A01-01-1900 /Oly
  479. FDATE /Ff /A01-01-1984 /Oly
  480. FDATE /Ff /A01-01-1991 /Oly
  481. FDATE /Ff /A01-01-1992 /Oly
  482. FDATE /Ff /A01-01-2000 /Oly
  483. @PAUSE
  484.  
  485. CLS
  486. @echo TEST "JULIAN" OUTPUT FORMATS
  487. @echo ─────────────────────────────────────────────────────────────────
  488. FDATE /Ff /At /Ojulian
  489. FDATE /Ff /At /Oday#
  490. FDATE /Ff /At /Ominute#
  491. FDATE /Ff /At /Osecond#
  492. FDATE /Ff /A19950101 /Iccyymmdd /Ominute#
  493. FDATE /Ff /A19950101 /Iccyymmdd /Osecond#
  494. @PAUSE
  495.  
  496. @ECHO off
  497. :ABSDATES
  498. CLS
  499. echo SHOW ABSOLUTE OR "TRUE JULIAN" DATES FOR SELECTED DATES
  500. echo ─────────────────────────────────────────────────────────────────
  501. ECHO.
  502. FDATE /Ff /A01-01-0001 /P"First day of year 0001: "  /Oday#
  503. ECHO.
  504. FDATE /Ff /A01-01-1900 /P"First day of year 1900: " /Oday#
  505. ECHO.
  506. FDATE /Ff /A01-01-1992 /P"First day of year 1992: " /Oday#
  507. ECHO.
  508. FDATE /Ff /At          /P"Today's calendar date : "
  509. FDATE /Ff /At /Oday#   /P"Today's absolute date : "
  510. ECHO.
  511. FDATE /Ff /A12-31-2000 /P"Last day of year 2000: " /Oday#
  512. ECHO.
  513. FDATE /Ff /A12-31-9999 /P"Last day of year 9999: " /Oday#
  514. PAUSE
  515.  
  516. :GET
  517. CLS
  518. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  519. echo ║       TEST FDATE WITH ENVIRONMENT MANIPULATION PROGRAM: GET                 ║
  520. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  521. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  522. echo ║   If you do not have GET installed,                                         ║
  523. echo ║   you will see messages saying "Bad command of file name".                  ║
  524. echo ║   This is normal and nothing to worry about.                                ║
  525. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  526. @echo.
  527.  
  528. @echo on
  529. @set date1=
  530. @echo.
  531. FDATE /Ff /At /Oyymmdd|GET ZE /Vdate1 >NUL
  532. @echo DATE1 environment variable is %DATE1%
  533. @set date1=
  534. @echo.
  535. FDATE /Ff /At /Occyymmdd|GET ZE /Vdate1 >NUL
  536. @echo DATE1 environment variable is %DATE1%
  537. @set date1=
  538. @echo off
  539. @PAUSE
  540.  
  541. :STRINGS
  542. CLS
  543. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  544. echo ║       TEST FDATE WITH ENVIRONMENT MANIPULATION PROGRAM: STRINGS             ║
  545. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  546. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  547. echo ║   If you do not have STRINGS installed,                                     ║
  548. echo ║   you will see messages saying "Bad command of file name".                  ║
  549. echo ║   This is normal and nothing to worry about.                                ║
  550. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  551. @echo.
  552.  
  553. @echo on
  554. @set date1=
  555. @echo.
  556. FDATE /Ff /At /Oyymmdd | STRINGS date1= ASK >NUL
  557. @echo DATE1 environment variable is %DATE1%
  558. @set date1=
  559. @echo.
  560. FDATE /Ff /At /Occyymmdd | STRINGS date1= ASK >NUL
  561. @echo DATE1 environment variable is %DATE1%
  562. @set date1=
  563. @echo.
  564. @echo off
  565. @PAUSE
  566.  
  567. @echo off
  568. CLS
  569. echo.
  570. echo The final demonstration uses the DOS "CALL" statement,
  571. echo so it requires DOS 3.3 or greater.
  572. echo.
  573. echo If you do not have DOS 3.3+,
  574. echo press Control-Break or Control-C now to stop execution of the batch file.
  575. echo.
  576. echo Otherwise,
  577. pause
  578.  
  579. :TIMER
  580. @echo off
  581. cls
  582. ECHO The demo will run for 1 - 60 seconds.
  583. echo.
  584. ECHO ────────────────────────────────────────────────────────────────────────
  585. ECHO CALCULATE HOW LONG IT TOOK TO RUN A PROGRAM (in seconds and minutes)
  586. echo.
  587. echo If you leave long batch files to run overnight, this techique can
  588. echo be used to record how long each program in the batch file ran.
  589. echo.
  590. echo The technique for setting the values of environment variables in this
  591. echo part of the demo uses temporary batch files and CALL statements.
  592. echo If you have a program such as GET or STRINGS, you can use it instead.
  593. ECHO ────────────────────────────────────────────────────────────────────────
  594. echo.
  595. PAUSE
  596. cls
  597.  
  598. FDATE /Ff /At /Ohh:mm:ss /P"TESTPGM simulated execution begins at "
  599.  
  600. REM  GET PROGRAM BEGIN TIME, IN MINUTES
  601. @set BegM=
  602. @set EndM=
  603. @set RunM=
  604. FDATE /Ff /At /Ominute# /P"SET BegM=" >FDATJUNK.BAT
  605. CALL FDATJUNK.BAT
  606.  
  607. REM  GET PROGRAM BEGIN TIME, IN SECONDS
  608. set BegS=
  609. set EndS=
  610. set RunS=
  611. FDATE /Ff /At /Osecond# /P"SET BegS=" >FDATJUNK.BAT
  612. CALL FDATJUNK.BAT
  613.  
  614. rem ───────────────────────────────────────────────────────────────
  615. rem [simulate execution of a program: loop for a minute or less]
  616. rem [In a real batch file, you would put your program statements here]
  617. rem ───────────────────────────────────────────────────────────────
  618. :BegLoop
  619.    FDATE /Ff /At /Osecond# /VendS
  620.    FDATE /Ff /At /Ominute# /VendM
  621.  
  622.    rem calculate run time (difference between start time and end time)
  623.    rem ----------------------------------------------------------------
  624.    FDATE /F#dif /A%EndM% /B%BegM% /VrunM
  625.  
  626.    rem calculate run time (difference between start time and end time)
  627.    rem ----------------------------------------------------------------
  628.    FDATE /F#dif /A%EndS% /B%BegS% /VrunS
  629.  
  630.    echo      TESTPGM running, elapsed time: %RunS% seconds
  631.  
  632.    if (%RunM%)==()  goto EndLoop
  633.    if (%RunM%)==(0) goto BegLoop
  634. :EndLoop
  635. rem ───────────────────────────────────────────────────────────────
  636.  
  637. REM  GET PROGRAM END TIME IN SECONDS
  638. FDATE /Ff /At /Osecond# /VendS
  639.  
  640. REM  GET PROGRAM END TIME IN MINUTES
  641. FDATE /Ff /At /Ominute# /VendM
  642.  
  643. FDATE /Ff /At /Ohh:mm:ss /P"TESTPGM simulated execution ends at "
  644. echo.
  645.  
  646. echo TESTPGM: Program end   time (Julian seconds): %EndS%
  647. echo TESTPGM: Program begin time (Julian seconds): %BegS%
  648.  
  649. rem  calculate run time (difference between start time and end time)
  650. rem ----------------------------------------------------------------
  651. FDATE /F#dif /A%EndS% /B%BegS% /P"TESTPGM: Run time in seconds= "
  652. set BegS=
  653. set EndS=
  654.  
  655. echo.
  656. echo TESTPGM: Program end   time (Julian minutes): %EndM%
  657. echo TESTPGM: Program begin time (Julian minutes): %BegM%
  658. rem  calculate run time (difference between start time and end time)
  659. FDATE /F#dif /A%EndM% /B%BegM% /P"TESTPGM: Run time in minutes= "
  660.  
  661. set BegM=
  662. set EndM=
  663. set RunM=
  664. set RunS=
  665.  
  666. echo.
  667. PAUSE
  668.  
  669. @echo off
  670. if exist FDATJUNK.BAT DEL  FDATJUNK.BAT
  671.  
  672. cls
  673. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  674. echo ║                     END OF FDATE TEST BATCH FILE                            ║
  675. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  676. echo.
  677. echo I hope that you have found this demo batch file helpful,
  678. echo and that you will find FDATE useful.
  679. echo.
  680. echo                         -- Stephen Ferg
  681. echo.
  682. echo.
  683. echo.
  684.  
  685.  
  686. if not exist holidays.bat goto endit
  687. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  688. echo ║             READY TO EXECUTE HOLIDAYS.BAT ... DEMO BATCH FILE               ║
  689. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  690. pause
  691. HOLIDAYS.BAT
  692. :ENDIT
  693.